package com.mydemo.utils;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.File;
import java.io.IOException;

public class PdfRead {

    public static void main(String[] args) {
        try (PDDocument document = PDDocument.load(new File("C:\\Users\\Administrator\\Desktop\\文件\\中华人民共和国劳动法.pdf"))) {
            // 创建 PDFTextStripper 对象以提取文本
            PDFTextStripper pdfStripper = new PDFTextStripper();

            // 提取整个文档的文本
            String text = pdfStripper.getText(document);
            // 转换为Markdown格式
            String markdown = convertToMarkdown(text);
            System.out.println(text);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static String convertToMarkdown(String text) {
        // 基本转换：处理标题、段落等
        StringBuilder markdown = new StringBuilder();

        String[] lines = text.split("\n");
        for (String line : lines) {
            line = line.trim();
            if (line.isEmpty()) {
                markdown.append("\n\n");
            } else if (isLikelyTitle(line)) {
                // 可能的标题转换为H2
                markdown.append("\n## ").append(line).append("\n");
            } else {
                markdown.append(line).append(" ");
            }
        }

        return markdown.toString();
    }

    private static boolean isLikelyTitle(String line) {
        // 简单判断是否可能是标题（可根据需要调整规则）
        return line.length() < 50 && line.matches(".*[\\u4e00-\\u9fa5a-zA-Z].*");
    }
}
